Skip to main content

Media Library - Detail View

Adding the Media Library Detail View Widget

Adding this will fetch the media against the portal you have bound and show the Media in Detail view.

Get Started

Step 1: Add the following HTML in the body section of your web application code to add the Media Library Detail View widget.

<vdz-mashup-detailview data-widget="true"> </vdz-mashup-detailview>

Step 2: Add the following Script tag into the body section of your web application code to bind the events and see those events in the console.

<script>
document.getElementById("detail-view").addEventListener("on-mashups-loading", (event) => {
console.log(event);
console.log("onMashupLoading");
});
document.getElementById("detail-view").addEventListener("on-mashups-loaded", (event) => {
console.log(event);
console.log("onMashupLoaded")
});
document.getElementById("detail-view").addEventListener("on-mashups-loading-failed", (event) => {
console.log(event);
console.log("onMashupLoadingFailed")
});
</script>

Input properties for Media Library Detail Widget

PropertyTypeDefaultRequiredDescription
search-criteriaMashupSearchCriteriaNoThis is an object containing criteria(s) to search mashup(s)
keywordstringNoIt will search mashups against the mentioned keyword
order-byMashupOrderByNoIt will order searched mashups according to the order-by possible values
sort-typeSortTypeNoIt will sort searched mashups according to the sort-type possible values
page-sizenumberNoIt will set the page size for the searched mashups list
page-indexnumberNoIt will set page to a specific index against the searched mashups list, page index starts from 0
is-featuredbooleanNoIt will search all the featured mashups of the portal
is-globalbooleanNoIt will search among all the mashups of the portal
show-on-channel-librarybooleanNoIt will search all the mashups visible on channel library of the portal 
statusMashupStatusNoIt will search all mashups of different status of the portal   

Methods for Media Library Detail Widget

MethodParamsReturn TypeDescription
searchMashupSearchCriteriavoidThis method will initiate a search depending on provided search criteria.
forceRefresh-voidThis method will initiate a search depending on search criteria but it will make sure that data is not served from cache.
EventDataScenario
on-mashups-loadingmashupSearchCriteria: MashupSearchCriteriaWhen search criteria are changed and the call is not yet sent to the server.
on-mashups-loadedmashupInfo: MashupInfoUndefined is raised in case no mashups are returned from the server.
on-mashups-loading-failedexceptionWhen search call has failed.
on-page-changednumberThe latest slide number will be returned.
on-play{ t: number, mashupInfo: MashupInfo}This method will return time from where the user wants to playback and mashup the object that needs to be played.

Sample Code - VIDIZMO Media Library Detail Widget

<html>

<head>
<meta charset="UTF-8" />
<!-- VIDIZMO Imports -->
<script type="text/javascript" src="https://betalpha.beta.vidizmo.com/static/js/vidizmo-player/player.js"></script>
<link rel="stylesheet" href="https://betalpha.beta.vidizmo.com/static/compiled/widget/widgets.css" />
<script type="text/javascript" src="https://betalpha.beta.vidizmo.com/static/compiled/widget/widgets.js"> </script>
</head>

<body style="margin: 20px;">
<vdz-mashup-detailview id="detailview" data-widget="true"
search-criteria='{"sortType":"ASC","pageSize":36,"isGlobal":true,"showOnChannelLibrary":true,"isFeatured":true}'>
</vdz-mashup-detailview>

<script>
document.getElementById("detail-view").addEventListener("on-mashups-loading", (event) => {
console.log(event);
console.log("onMashupLoading");
});
document.getElementById("detail-view").addEventListener("on-mashups-loaded", (event) => {
console.log(event);
console.log("onMashupLoaded")
});
document.getElementById("detail-view").addEventListener("on-mashups-loading-failed", (event) => {
console.log(event);
console.log("onMashupLoadingFailed")
});
</script>
</body>

</html>

Additional Widget(s) Integration

You can also add the following widgets with the Media Gallery View Widget.

1. Adding the Category Filter Widget

This widget integrated with Media Detail View Widget allows you to filter out the media based on the content's category.

Get Started

Step 1: Add the following HTML into the body of your website code to add the category filter widget.

<vdz-library-filter id="widgetLibraryFilter" data-widget="true"> </vdz-library-filter>

The screenshot below shows the Category Filter Widget.

Input Properties for Category Filter Widget

PropertyTypeDefaultRequiredDescription
show-mashup-countbooleantrueNoWhen true, the count of a number of mashups inside the category will appear with the category title.
show-all-category-optionbooleantrueNoWhen true, the ‘All’ option will appear In the category tree view. This will help to see all mashups existing in all categories.

Method(s) for Category Filter Widget

MethodParamsReturn TypeDescription
filterCategoryId: numbervoidUse this method to filter search results by category. Pass category id as a parameter, or -1, if you want to filter by all categories.

Output Events for Category Filter Widget:

MethodParamsReturn TypeDescription
on-filterCategoryId: numbervoidUse this method to filter search results by category. Pass category id as a parameter, or -1, if you want to filter by all categories.

Sample Code for Media Library Detail View with Category Filter Widget

<html>

<head>
<meta charset="UTF-8" />
<!-- VIDIZMO Imports -->
<script type="text/javascript" src="{portal-address}/static/js/vidizmo-player/player.js"></script>
<link rel="stylesheet" href="https://{portal-address}/static/compiled/widget/widgets.css" />
<script type="text/javascript" src="https://{portal-address}/static/compiled/widget/widgets.js"></script>
</head>

<body style="margin: 20px;">

<vdz-category-filter id="widgetCategoryFilter" data-widget="true"></vdz-category-filter>
<vdz-mashup-detailview id="detailview" data-widget="true"
search-criteria='{"sortType":"ASC","pageSize":36,"isGlobal":true,"showOnChannelLibrary":true,"isFeatured":true}'>
</vdz-mashup-detailview>


<script>
document.getElementById("widgetCategoryFilter").addEventListener("on-filter", (event) => {
console.log(event);
});
document.getElementById("detail-view").addEventListener("on-mashups-loading", (event) => {
console.log(event);
console.log("onMashupLoading");
});
document.getElementById("detail-view").addEventListener("on-mashups-loaded", (event) => {
console.log(event);
console.log("onMashupLoaded")
});
document.getElementById("detail-view").addEventListener("on-mashups-loading-failed", (event) => {
console.log(event);
console.log("onMashupLoadingFailed")
});
</script>

</body>

</html>

2. Adding the Library Filter Widget

This widget integrated with Media Detail View Widget allows you to filter out the media based on processed state, format, Author, Custom Attributes, and Tags.

Get Started

Step 1: Add the following HTML in the body of your website code to add the library filter widget.

<vdz-library-filter data-widget="true" id="widgetLibraryFilter"> </vdz-library-filter>

The screenshot below shows the Library Filter Widget.

Input Properties for Library Filter Widget:

PropertyTypeDefaultRequiredDescription
show-processed-state-filterbooleantrueNoWhen true, only then processed state filter will appear.
show-mashup-format-filterbooleantrueNoWhen true, only then mashup format filter will appear.
show-author-name-filterbooleantrueNoWhen true, only then author name filter will appear.
show-custom-attribute-filterbooleantrueNoWhen true, only then custom attribute filter will appear
show-tags-cloud-filterbooleantrueNoWhen true, only then tag cloud filter will appear.

Output Events for Library Filter Widget:

EventDataScenario
on-filter-by-mashup-status(applicable for admin review only)action: (Apply, Remove)data: MashupStatusWhen a user tries to filter mashup by status.
on-filter-by-processed-stateaction: (Apply, Remove)data: stringWhen a user tries to filters mashups by processed state.
on-filter-by-mashup-formataction: (Apply, Remove)
data: MashupFormat
MashupFormat possible values: Audio, Collection, Document, Image, Playlist, Presentation,Video, Course, Quiz, Survey, Live, SCORM
When a user tries to filter mashups by mashup format.
on-filter-by-author-nameaction: (Apply, Remove)data: stringWhen a user tries to filter mashups by author name.
on-filter-by-custom-attributeaction: (Apply, Remove)data: stringWhen a user tries to filter mashups by custom attribute.

Sample Code for Media Library Detail View with Library Filter Widget:

<html>

<head>
<meta charset="UTF-8" />
<!-- VIDIZMO Imports -->
<script type="text/javascript" src="{portal-address}/static/js/vidizmo-player/player.js"></script>
<link rel="stylesheet" href="{portal-address}/static/compiled/widget/widgets.css" />
<script type="text/javascript" src="{portal-address}/static/compiled/widget/widgets.js"></script>
</head>

<body style="margin: 20px;">
<vdz-library-filter id="widgetLibraryFilter" data-widget="true"></vdz-library-filter>
<vdz-mashup-detailview id="detailview" data-widget="true"
search-criteria='{"sortType":"ASC","pageSize":36,"isGlobal":true,"showOnChannelLibrary":true,"isFeatured":true}'>
</vdz-mashup-detailview>

<script>
document.getElementById("widgetLibraryFilter").addEventListener("on-filter", (event) => {
console.log(event);
});
document.getElementById("detail-view").addEventListener("on-mashups-loading", (event) => {
console.log(event);
console.log("onMashupLoading");
});
document.getElementById("detail-view").addEventListener("on-mashups-loaded", (event) => {
console.log(event);
console.log("onMashupLoaded")
});
document.getElementById("detail-view").addEventListener("on-mashups-loading-failed", (event) => {
console.log(event);
console.log("onMashupLoadingFailed")
});
</script>

</body>

</html>

3. Media Search Widget

This widget integrated with Media Detail View Widget allows you to search the media based on the keywords.

Get Started

Step 1: Add the following tag in the body of your web application code to add the Media Search widget.

<vdz-mashup-filter show-search-box="true" show-forced-refresh-icon="true" data-widget="true"> </vdz-mashup-filter>

The screenshot below shows the Library Filter Widget.

Input Properties for Media Search Widget

PropertyTypeDefaultRequiredDescription
show-search-boxbooleantrueNoWhen true, the input field will be available to search using keywords.
show-forced-refresh-iconbooleantrueNoWhen true, the refresh mashup button will be visible

Sample Code for Media Library Detail View with Media Search Widget

<html>

<head>
<meta charset="UTF-8" />
<!-- VIDIZMO Imports -->
<script type="text/javascript" src="{portal-address}/static/js/vidizmo-player/player.js"></script>
<link rel="stylesheet" href="{portal-address}/static/compiled/widget/widgets.css" />
<script type="text/javascript" src="{portal-address}/static/compiled/widget/widgets.js"></script>
</head>

<body style="margin: 20px;">
<vdz-mashup-filter show-search-box="true" show-forced-refresh-icon="true" data-widget="true"></vdz-mashup-filter>
<vdz-mashup-detailview id="detail-view" data-widget='true' page-size-md="4"
search-criteria={"sortType":"ASC","pageSize":36,"isGlobal":true,"showOnChannelLibrary":true,"isFeatured":true}>
</vdz-mashup-detailview>

<script>
document.getElementById("detail-view").addEventListener("on-mashups-loading", (event) => {
console.log(event);
console.log("onMashupLoading");
});
document.getElementById("detail-view").addEventListener("on-mashups-loaded", (event) => {
console.log(event);
console.log("onMashupLoaded")
});
document.getElementById("detail-view").addEventListener("on-mashups-loading-failed", (event) => {
console.log(event);
console.log("onMashupLoadingFailed")
});
</script>
</body>

</html>

Integration of Media Library Detail View Widget with Category Filter, Library Filter, and Media Search Widget

<html>

<head>
<meta charset="UTF-8" />
<!-- VIDIZMO Imports -->
<script type="text/javascript" src="{portal-address}/static/js/vidizmo-player/player.js"></script>
<link rel="stylesheet" href="{portal-address}/static/compiled/widget/widgets.css" />
<script type="text/javascript" src="{portal-address}/static/compiled/widget/widgets.js"></script>
</head>

<body style="margin: 20px;">

<vdz-category-filter id="widgetCategoryFilter" data-widget="true"></vdz-category-filter>
<vdz-library-filter id="widgetLibraryFilter" data-widget="true"></vdz-library-filter>
<vdz-mashup-filter show-search-box="true" show-forced-refresh-icon="true" data-widget="true"></vdz-mashup-filter>
<vdz-mashup-detailview id="detailview" data-widget="true"
search-criteria='{"sortType":"ASC","pageSize":36,"isGlobal":true,"showOnChannelLibrary":true,"isFeatured":true}'>
</vdz-mashup-detailview>


<script>
document.getElementById("widgetCategoryFilter").addEventListener("on-filter", (event) => {
console.log(event);
});
document.getElementById("widgetLibraryFilter").addEventListener("on-filter", (event) => {
console.log(event);
});
document.getElementById("detail-view").addEventListener("on-mashups-loading", (event) => {
console.log(event);
console.log("onMashupLoading");
});
document.getElementById("detail-view").addEventListener("on-mashups-loaded", (event) => {
console.log(event);
console.log("onMashupLoaded")
});
document.getElementById("detail-view").addEventListener("on-mashups-loading-failed", (event) => {
console.log(event);
console.log("onMashupLoadingFailed")
});
</script>

</body>

</html>

Next Steps

You can playback the content by simply clicking on the content within the Media Library Gallery Widget. Upon clicking the content, an event "onPlay()" would be raised and listened to.

You can learn more about this in the following articles:

Scenario - Playback Media from Media Library